<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        const p = new Promise(function(resolve,reject){
            const time = Math.floor(Math.random()*4000+1000);
            const timer = setTimeout(()=>{
                console.log('从前有座山,山上有座庙');
                console.log('庙里有个老和尚还有一个小和尚');
                console.log('老和尚在给小和尚讲故事');
                console.log('故事的内容是:');
                if(time>=3000){
                    // 让promise的状态变成成功
                    clearTimeout(timer)
                    resolve(time)
                }
                else{
                    clearTimeout(timer);
                    // 让promise的状态变成失败
                    reject(new Error('这里的状态变成了失败'));
                }
                console.log('-------------------------');

            },time)
        });


        // p 就是 Promise的返回值  

        // p身上自带两个方法  如果  promise变成成功  then 自动调用 
        // p身上自带两个方法  如果  promise变成失败  catch 自动调用 

        p.then(function(t){
            console.log('转成变成成功我被调用了','传过来的时间是',t);
        })

        p.catch(function(err){
            // err是个对象
            console.log('转成变成失败我被调用了','传过来的时间是',err.message);
        })



    </script>
</body>
</html>